package com.sunwayhorizo.health.platform.security.dao;

import java.util.List;

import com.sunwayhorizo.health.platform.security.persistent.SecurityOperation;

public interface SecurityOperationDao {

	/**
	 * 新增操作
	 * @param operation 实体
	 * @return 返回新增的实体
	 */
	SecurityOperation newSecurityOperation(SecurityOperation operation);
	
	/**
	 * 批量删除操作级联包含permissions
	 * @param list 字符串List
	 */
	void deleteSecurityOperation(List<String> list);
	
	/**
	 * 修改操作
	 * @param operation 实体
	 * @return 返回修改后的实体
	 */
	SecurityOperation updateSecurityOperation(SecurityOperation operation);
	
	/**
	 * 查询操作的列表
	 * @return 返回实体列表
	 */
	List<SecurityOperation> findSecurityOperationList();
	
	/**
	 * 根据操作名称查询操作的列表
	 * @return 返回实体列表
	 */
	List<SecurityOperation> findSecurityOperationList(String operationName);
	
	/**
	 * 通过操作Id查询操作的详细信息
	 * @param operationId 实体Id
	 * @return	返回查询到的实体
	 */
	SecurityOperation findSecurityOperationDetailById(String operationId);
	
	/**
	 * 通过操作名称查询操作的详细信息
	 * @param roleName 实体名称
	 * @return 返回查询到的实体
	 */
	SecurityOperation findSecurityOperationDetailByName(String operationName);
}